package agent.variables.fileentry;

import org.snmp4j.agent.mo.DefaultMOMutableRow2PC;
import org.snmp4j.smi.Integer32;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.Variable;

import agent.TorrentMIB;

public class FileEntryRow extends DefaultMOMutableRow2PC {
	public FileEntryRow(OID index, Variable[] values) {
		super(index, values);
	}
	
	public OctetString getHash() {
		return (OctetString) super.getValue(TorrentMIB.idxHash);
	}
	
	public void setHash(OctetString newValue) {
		super.setValue(TorrentMIB.idxHash, newValue);
	}
	
	public Integer32 getStatus() {
		return (Integer32) super.getValue(TorrentMIB.idxStatus);
	}
	
	public void setStatus(Integer32 newValue) {
		super.setValue(TorrentMIB.idxStatus, newValue);
	}
	
	public OctetString getName() {
		return (OctetString) super.getValue(TorrentMIB.idxName);
	}
	
	public void setName(OctetString newValue) {
		super.setValue(TorrentMIB.idxName, newValue);
	}
	
	public Integer32 getSize() {
		return (Integer32) super.getValue(TorrentMIB.idxSize);
	}
	
	public void setSize(Integer32 newValue) {
		super.setValue(TorrentMIB.idxSize, newValue);
	}
	
	public Integer32 getPercent() {
		return (Integer32) super.getValue(TorrentMIB.idxPercent);
	}
	
	public void setPercent(Integer32 newValue) {
		super.setValue(TorrentMIB.idxPercent, newValue);
	}
	
	public Integer32 getDownloaded() {
		return (Integer32) super.getValue(TorrentMIB.idxDownloaded);
	}
	
	public void setDownloaded(Integer32 newValue) {
		super.setValue(TorrentMIB.idxDownloaded, newValue);
	}
	
	public Integer32 getUploaded() {
		return (Integer32) super.getValue(TorrentMIB.idxUploaded);
	}
	
	public void setUploaded(Integer32 newValue) {
		super.setValue(TorrentMIB.idxUploaded, newValue);
	}
	
	public Integer32 getUploadSpeed() {
		return (Integer32) super.getValue(TorrentMIB.idxUploadSpeed);
	}
	
	public void setUploadSpeed(Integer32 newValue) {
		super.setValue(TorrentMIB.idxUploadSpeed, newValue);
	}
	
	public Integer32 getDownloadSpeed() {
		return (Integer32) super.getValue(TorrentMIB.idxDownloadSpeed);
	}
	
	public void setDownloadSpeed(Integer32 newValue) {
		super.setValue(TorrentMIB.idxDownloadSpeed, newValue);
	}
	
	public Integer32 getEta() {
		return (Integer32) super.getValue(TorrentMIB.idxEta);
	}
	
	public void setEta(Integer32 newValue) {
		super.setValue(TorrentMIB.idxEta, newValue);
	}
	
	public Integer32 getPeersConnected() {
		return (Integer32) super.getValue(TorrentMIB.idxPeersConnected);
	}
	
	public void setPeersConnected(Integer32 newValue) {
		super.setValue(TorrentMIB.idxPeersConnected, newValue);
	}
	
	public Integer32 getSeedsConnected() {
		return (Integer32) super.getValue(TorrentMIB.idxSeedsConnected);
	}
	
	public void setSeedsConnected(Integer32 newValue) {
		super.setValue(TorrentMIB.idxSeedsConnected, newValue);
	}
	
	public Variable getValue(int column) {
		switch (column) {
			case TorrentMIB.idxHash:
				return getHash();
			case TorrentMIB.idxStatus:
				return getStatus();
			case TorrentMIB.idxName:
				return getName();
			case TorrentMIB.idxSize:
				return getSize();
			case TorrentMIB.idxPercent:
				return getPercent();
			case TorrentMIB.idxDownloaded:
				return getDownloaded();
			case TorrentMIB.idxUploaded:
				return getUploaded();
			case TorrentMIB.idxUploadSpeed:
				return getUploadSpeed();
			case TorrentMIB.idxDownloadSpeed:
				return getDownloadSpeed();
			case TorrentMIB.idxEta:
				return getEta();
			case TorrentMIB.idxPeersConnected:
				return getPeersConnected();
			case TorrentMIB.idxSeedsConnected:
				return getSeedsConnected();
			default:
				return super.getValue(column);
		}
	}
	
	public void setValue(int column, Variable value) {
		switch (column) {
			case TorrentMIB.idxHash:
				setHash((OctetString) value);
				break;
			case TorrentMIB.idxStatus:
				setStatus((Integer32) value);
				break;
			case TorrentMIB.idxName:
				setName((OctetString) value);
				break;
			case TorrentMIB.idxSize:
				setSize((Integer32) value);
				break;
			case TorrentMIB.idxPercent:
				setPercent((Integer32) value);
				break;
			case TorrentMIB.idxDownloaded:
				setDownloaded((Integer32) value);
				break;
			case TorrentMIB.idxUploaded:
				setUploaded((Integer32) value);
				break;
			case TorrentMIB.idxUploadSpeed:
				setUploadSpeed((Integer32) value);
				break;
			case TorrentMIB.idxDownloadSpeed:
				setDownloadSpeed((Integer32) value);
				break;
			case TorrentMIB.idxEta:
				setEta((Integer32) value);
				break;
			case TorrentMIB.idxPeersConnected:
				setPeersConnected((Integer32) value);
				break;
			case TorrentMIB.idxSeedsConnected:
				setSeedsConnected((Integer32) value);
				break;
			default:
				super.setValue(column, value);
		}
	}
}